package com.xbongbong.pro.statistics.service;

import com.alibaba.fastjson.JSONArray;
import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.pro.bi.commons.pojo.AggFieldPojo;
import com.xbongbong.pro.domain.entity.ChartEntity;

import java.util.Map;

/**
 * 不同图表结果集的前置处理
 *
 * @author zyy
 * @date 2022/05/09/ 08:47:00
 * @since v1.0
 */
public interface CkPreParseResult {

    /**
     * 图表数据的前置处理
     *
     * @param resultArray 结果集
     * @param chartEntity 图表实体
     * @param aggFieldMap  统计值字段与ck结果的对应关系，例如：ck中sum_1，对应一个AggFieldPojo，里面有原始值
     * @return com.alibaba.fastjson.JSONArray   处理后的结果集
     * @author zyy
     * @date 2022/5/9
     * @version v1.0
     */
    JSONArray preParseResultArray(JSONArray resultArray, ChartEntity chartEntity, Map<String, AggFieldPojo> aggFieldMap) throws XbbException;

    /**
     * 获取实现类对应图表的code
     *
     * @return java.lang.Integer
     * @author zyy
     * @date 2022/5/9
     * @version v1.0
     */
    Integer getCode();
}
